import redis

client = redis.Redis()  # 连接本地的 Redis 。


def set_online_status(user_id):
    """
    当用户登录网站的时候，调用这个函数，在Redis中设置一个字符串
    """
    client.set(user_id, 1)  # 使用用户帐号作为 Key ,在 Redis 中 设置字符串。


def set_offline_status(user_id):
    """
    当用户登出网站时调用这个函数，从Redis中删除这个以用户账号为Key的字符串
    """
    client.delete(user_id)  # 从 Red is 中删除 Key 为用户账号的字符串 。


def check_online_status(user_id):
    """
    检查用户是否在线，如果在线，那么get用户账号对应的Key就会返回1，否则返回None
    """
    online_status = client.get(user_id)  # 从Redis中获取Key为用户帐号的字符串的值。如果这个字符串存在,则返回里面的值;如果Redis没有这个Key,则返回None,
    if online_status and online_status.decode() == '1':  # 根据返回的值进行判断。如果返回1,则说明用户现在在线;否则说明用户现在不在线。
        return True
    return False
